﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using IBE.Entity;

namespace IBE
{
    public class FareData
    {
        #region Members
        public int TotalAdult { get; set; }
        public int TotalChild { get; set; }
        public int TotalInfant { get; set; }
        public int TotalPax { get; set; }
        public double FareAdult { get; set; }
        public double FareChild { get; set; }
        public double FareInfant { get; set; }
        public double TotalFare { get; set; }
        public double TotalFareRaw { get; set; }

        public double FeeAdult { get; set; }
        public double FeeChild { get; set; }
        public double FeeInfant { get; set; }
        public double TotalFee { get; set; }

        public List<Flight> ListDepartureFlight { get; set; }
        public List<Flight> ListReturnFlight { get; set; }
        public DateTime DepartureDate { get; set; }
        public DateTime ReturnDate { get; set; }
        public double TotalDuration { get; set; }
        public int FareDataId { get; set; }
        public bool HasReturn { get; set; }
        public FareInfo FareInfo { get; set; }
        public bool HasChangedClass { get; set; }
        public string CurrencyCode { get; set; }
        public string IBE { get; set; }
        public string PlatingCarrier { get; set; }

        public double TotalAdditionService { get; set; }

        //Low cost
        public string SessionId { get; set; }

        //RulesInfo
        List<string> _ListDepartureRulesInfo = new List<string>();
        public List<string> ListDepartureRulesInfo { get { return _ListDepartureRulesInfo; } set { _ListDepartureRulesInfo = value; } }

        List<string> _ListReturnRulesInfo = new List<string>();
        public List<string> ListReturnRulesInfo { get { return _ListReturnRulesInfo; } set { _ListReturnRulesInfo = value; } }

        #endregion

        #region Method
        public FareData ShallowCopy()
        {
            return (FareData)this.MemberwiseClone();
        }

        #endregion
    }
}
